// dateFormat.js

/**
 * 格式化日期时间戳类型
 * @param {number} timestamp - 要格式化的日期时间戳（毫秒）
 * @param {string} format - 期望的日期格式，默认为 'YYYY-MM-DD'
 * @returns {string} 格式化后的日期字符串
 */
export function strFormatDate(timestamp, format = 'YYYY-MM-DD') {
	if (!timestamp) return '';
	console.log(timestamp, format, 'format')
	const date = new Date(timestamp);
	const map = {
		'YYYY': date.getFullYear(),
		'MM': ('0' + (date.getMonth() + 1)).slice(-2),
		'DD': ('0' + date.getDate()).slice(-2),
		'HH': ('0' + date.getHours()).slice(-2),
		'mm': ('0' + date.getMinutes()).slice(-2),
		'ss': ('0' + date.getSeconds()).slice(-2)
	};

	return format.replace(/YYYY|MM|DD|HH|mm|ss/g, matched => map[matched]);
}
/**
 * 格式化ISO时间
 * @param {number} isoTime - 要格式化的日期时间戳（毫秒）
 * @param {string} format - 期望的日期格式，默认为 'YYYY-MM-DD'
 * @value {string} 格式化后的日期字符串
 */
export function strFormatDate2(format, isoTime) {
	// 解析ISO时间字符串为Date对象
	const date = new Date(isoTime);
	// 定义格式化模板
	return format.replace(/YYYY|MM|DD|HH|mm|ss/g, (match) => {
		let value = '';
		switch (match) {
			case 'YYYY':
				value = date.getUTCFullYear();
				break;
			case 'MM':
				value = String(date.getUTCMonth() + 1).padStart(2, '0');
				break;
			case 'DD':
				value = String(date.getUTCDate()).padStart(2, '0');
				break;
			case 'HH':
				value = String(date.getUTCHours()).padStart(2, '0');
				break;
			case 'mm':
				value = String(date.getUTCMinutes()).padStart(2, '0');
				break;
			case 'ss':
				value = String(date.getUTCSeconds()).padStart(2, '0');
				break;
		}
		return value;
	});
}